草庐IT

TypeScript算法题实战——剑指 Offer篇(1)

全部标签

javascript - 将 TypeScript 与外部 JS 文件捆绑在一起(例如 node_modules)

我可以成功地将我的Typescript项目捆绑在一起,并使用例如将其保存为单个文件tsc--outFile"build/bundle.js"但是,此文件仅包含Typescript文件,不包含“node_modules”目录中的任何文件,例如jQuery。如果我尝试执行bundle,我只会收到找不到文件的错误消息。如何将我的Typescript依赖的“node_modules”文件添加到同一个捆绑文件中?Typescript显然知道文件的位置,因为它的路径是正确的。我正在使用SystemJS在浏览器中加载我的项目。我承认我很困惑我应该如何加载模块和捆绑(我可以使用SystemJSbund

JavaScript Array、Stack、Queue——这种特定 API 设计背后的动机是什么?

在我的日常工作中,我主要使用C#,偶尔使用javascript,所以请javascript大师不要粗暴地判断我的问题!Array通过提供push和pop方法实现Stack,但是peek不见了,为什么?(是的,实现起来很简单,但仍然)Array实现了Queue,但是操作被命名为push-shift或unshift-pop而不是enqueue和dequeue,为什么命名不同?这是受Python和Ruby启发的吗?为什么将Array、Stack和Queue的API合并到一个对象中,而不是分离接口(interface)并为其创建不同的对象?是因为实现便宜吗?从语义上讲,在许多语言(C#、C++

javascript - “this”在 TypeScript 属性装饰器中未定义

我试图理解TypeScript装饰器(特别是针对属性),并且我根据我看到的一些示例想出了以下代码:decorator.tsexportfunctionlogProperty(target:any,key:string){letval=this[key];constgetter=()=>{console.log(`Get:${key}=>${val}`);returnval;};constsetter=(newVal)=>{console.log(`Set:${key}=>${newVal}`);val=newVal;};if(deletethis[key]){Object.define

javascript - 三个JS——如何在Animation中设置当前时间

我在ThreeJS中使用蒙皮/骨骼动画。我有一个动画,我希望能够在其中前后移动,并跳转到其中的不同位置,而不是通常的循环行为。动画是这样创建的,如示例:varanimation=newTHREE.Animation(mesh,geometry.animation.name);我试过使用负增量更新动画,以及直接设置animation.currentTime:animation.currentTime=animationLocation;这些似乎只有在我及时向前移动时才有效,但如果我向后移动,动画就会中断并且出现错误:THREE.Animation.update:Warning!Scale

javascript - 什么是高频使用最快的 levenshtein 算法

这个问题在这里已经有了答案:Sortanarraybythe"LevenshteinDistance"withbestperformanceinJavascript(7个答案)关闭9年前。对于客户端搜索工具,我需要找到一个词与数百万个其他词的Levenshtein距离。用户应该能够将大约二十个单词的短文本与一本书进行比较。用户可以通过查找书中文本中最具特征的单词的位置来做到这一点。“查找位置”并不意味着寻找完全匹配,而是与levenshtein几乎匹配。我从已经可用的实现开始,但我需要更快的速度。我最终得到了这个:varrowA=newUint16Array(1e6);varrowB=

javascript - 如何将 javascript AMD 模块导入外部 TypeScript 模块?

如何将javascriptAMD模块导入外部TypeScript模块?我正在模块化我的客户端TypeScript程序以使用由Bower管理的AMD模块。作为这个过程的一部分,一个Typescript模块变成了一个javascriptAMD模块,然后我发布了它。现在我有一个javascriptAMD模块,我想将其包含在TypeScript模块中,但我不想发布带有javascriptAMD的原始TypeScript。我不知道如何编写我的TypeScript代码,以便它加载没有相应TypeScript的javascriptAMD模块,而且最新版本的TypeScript似乎还不支持这个。如果我

javascript - Angularjs Typescript Controller 继承和依赖注入(inject)

我正在尝试创建一组Controller类,这些类派生自具有许多依赖项的基类。每次我想创建派生类时,我都必须将基类构造函数依赖项复制到派生类构造函数中。这看起来特别丑陋和重复。见下文;moduleMyModule{exportclassParentCtrl{constructor($http,$provide,$scope,$compile,MyService,$parse,$timeout){console.log('parent');}FunctionA(){...}...FunctionZ(){...}}exportclassChildCtrlextendsParentCtrl{c

javascript - 如何实现 Typescript 异步等待模式 : Where is the Promise

我正在学习Angular和Typescript。我有一个客户服务,在这个服务中我有一个方法,我希望从RESTfull服务返回一组客户。最初我是这样创建我的GetCustomers函数的:publicGetCustomers():Dtos.ICustomer[]{var_customers:Dtos.ICustomer[];this._httpService.get('http://localhost/myTestApi/api/customers/').success(function(data){_customers=dataasDtos.ICustomer[];}).error(f

javascript - 在 Angular 应用程序中将 JSON 解析为 Typescript 类

我正在创建一个使用Angular和typescript的应用程序。一切都很好地结合在一起,但有一个问题困扰着我。我定义了我想在应用程序中传递的实体/模型类,这些类的数据来自$resource调用的JSON。这是一个模型类的例子:moduleapp.domain{exportinterfaceIJob{id:number;jobTitle:string;jobDescription:string;}exportclassJobimplementsIJob{constructor(publicid:number,publicjobTitle:string,publicjobDescript

javascript - Typescript 可以导入 CommonJS 模块吗?

我有这个文件://foo.jsvarfoo=function(){return"foo";};module.exports=foo;所以,我想将它导入到我的Typescript文件中。我试过了//typescript.tsimport*asfoofrom("./foo");没用。我读到了这个“环境”模块,所以我添加了这个//typescript.ts///import*asfoofrom("./foo");我在同一文件夹中添加了一个“foo.d.ts”文件,目的是让typescript知道我导入的函数的类型:declaremodule"foo"{functionfoo():string